Traditionally, mobile computing devices have been at a disadvantage in contrast to their non-mobile counterparts in that they have smaller viewing screens, smaller input mechanisms, smaller memory spaces, limited battery capacity, and, frequently, less powerful processors. Although all of these limitations have been substantially reduced through technological advances in the various technologies, each technological advance has largely been mirrored by an increase in the size and capability of applications that may be run on mobile devices. As a result, although modern mobile computing devices have capabilities far in excess of those of only a few years ago, there still is, and in the foreseeable future will continue to be, a premium placed upon processing power and memory capacity of mobile computing devices. When considering the memory requirements for an application and associated data, the only options for increasing the amount of data that may be stored are by enlarging the physical memory space or through software methods that can store increased amounts of data within a limited physical memory space.
B trees and B+ trees are standard methods for storing data within a searchable data structure, and either of them, or any other suitable data structure, may be used in the invention. Efficiency in this context translates to a shorter search time and a fewer number of processing steps and resulting memory accesses. By using an efficient memory data structure, processing efficiency can be improved and the time for data retrieval can be reduced, increasing the overall performance of the mobile computing device using such an efficient data structure.
This invention is a method and system by which a relational database may be implemented so as to minimize the amount of memory storage space needed for data storage while allowing for constant time random access to the data.